<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>
<script>
    //封装自己的数学对象
    /* var myMath = {
        PI: 3.1415926,
        max: function () {
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (arguments[i] > max) {
                    max = arguments[i];
                }
            }
            return max;
        },
        min: function () {
            var min = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                if (arguments[i] < min) {
                    min = arguments[i];
                }
            }
            return min;
        }
    }
    console.log(myMath.PI);
    console.log(myMath.max(1, 5, 6, 3));
    console.log(myMath.min(1, 5, 6, 3)); */

    //随机点名
    /* var arr = [1, 2, 3, 4, 5, 6, 7];

    function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    console.log(arr[getRandom(0, arr.length - 1)]); */

    //猜数字
    /* function getRandom(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    var yes = getRandom(1, 50);
    for (var i = 1; i <= 10; i++) {
        var num = prompt('请输入你猜的数字:');
        if (num > yes) {
            alert('大了');
        } else if (num < yes) {
            alert('小了');
        } else {
            alert('恭喜你答对了!');
            break;
        }
    } */

    //输出 几几年几几月几几日  星期几
    /* var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var dates = date.getDate();
    var arr = ['星期日', '星期一', '星期二']
    var day = date.getDay();
    console.log('今天是' + year + '年' + month + '月' + dates + '日' + arr[day]); */

    //封装返回当时的  时分秒
    /*  function getTime() {
         var time = new Date();
         var h = time.getHours();
         h = h < 10 ? '0' + h : h;
         var m = time.getMinutes();
         m = m < 10 ? '0' + m : m;
         var s = time.getSeconds();
         s = s < 10 ? '0' + s : s;
         return h + ':' + m + ':' + s;
     }
     console.log(getTime()); */

    //倒计时案例 *******
    /* function countDown(time) {
        var nowTime = +new Date();
        var inputTime = +new Date(time);
        var times = (inputTime - nowTime) / 1000;
        var d = parseInt(times / 60 / 60 / 24);
        d = d < 10 ? '0' + d : d;
        var h = parseInt(times / 60 / 60 % 24);
        h = h < 10 ? '0' + h : h;
        var m = parseInt(times / 60 % 60);
        m = m < 10 ? '0' + m : m;
        var s = parseInt(times % 60);
        s = s < 10 ? '0' + s : s;
        return d + '天' + h + '时' + m + '分' + s + '秒';
    }
    console.log(countDown('2020-6-6 18:00:00')); */

    //筛选数组
    /*    var arr = [1500, 1200, 2000, 2100, 1800];
       var newArr = [];
       for (var i = 0; i < arr.length; i++) {
           if (arr[i] < 2000) {
               newArr.push(arr[i]);
           }
       }
       console.log(newArr); */

    //数组去重(重点案例)**********

    //目标：把旧数组里不重复的选出来，重复的保留一个放新数组中
    //核心算法：遍历旧数组，拿新旧组去查询新数组，若该元素在数组中没有出现过就添加，否则不添加。
    //封装一个 unique函数
    /* function unique(arr) {
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (newArr.indexOf(arr[i]) === -1) {
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    var demo = unique([1, 2, 3, 3, 2, 1]);
    console.log(demo); */

    //返回字符位置以及次数*******

    //1.核心算法：先查找第一个o出现的位置
    //2.只要indexOf返回的结果不是-1，就继续往后查
    //3.因为indexOf只能查找第一个，所以后面利用第二个参数，当前索引+1，继续查找
    /*    var str = 'abcanmal';
       var index = str.indexOf('a');
       var num = 0;
       while (index !== -1) {
           console.log(index);
           mun++;
           index = str.indexOf('a', index + 1)
       }
        console.log('出现'+num+'次');*/

    /* var arr = [1, 2, 3, 5, 6, 1, 7, 1, 9];
    var index = arr.indexOf(1);
    var num = 0;
    while (index !== -1) {
        console.log(index);
        num++;
        index = arr.indexOf(1, index + 1)
    }
    console.log('1出现' + num + '次'); */


    //求字符串中出现最多的字符 并统计次数

    //核心算法：利用charAt 遍历这个字符串
    //把每个字符都存储给对象，如果对象没有该属性，就为1，如果存了就+1

    /*  var str = 'abcoefoxyozzopp';
     var o = {};
     for (var i = 0; i < str.length; i++) {
         var chars = str.charAt(i);
         if (o[chars]) {
             o[chars]++;
         } else {
             o[chars] = 1;
         }
     }
     console.log(o); */

    //遍历对象，得到最大值和该字符
    /* var max = 0;
    var ch = '';
    for (var k in o) {
        if (o[k] > max) {
            max = o[k];
            ch = k;
        }
    }
    console.log('最多的字符是' + ch + '出现' + max + '次'); */


    //替换字符  
    /*    var str = 'acasdcodnao';
       while (str.indexOf('o') !== -1) {
           str = str.replace('o', '*');
       }
       console.log(str); */
</script>

<body></body>

</html>